home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / updates / update25.zoo / include / diffs next >
Encoding:
Text File  |  1992-10-09  |  39.3 KB  |  1,336 lines

  1. *** 1.44    1992/08/14 15:01:21
  2. --- PatchLev.h    1992/10/09 20:54:03
  3. ***************
  4. *** 1,5 ****
  5.   
  6. ! #define    PatchLevel "83"
  7.   
  8.   /*
  9.    *
  10. --- 1,5 ----
  11.   
  12. ! #define    PatchLevel "84"
  13.   
  14.   /*
  15.    *
  16. *** 1.8    1992/08/14 15:01:21
  17. --- compiler.h    1992/10/09 20:54:03
  18. ***************
  19. *** 9,22 ****
  20.   
  21.   /* symbols to identify the type of compiler */
  22.   #ifdef SOZOBON
  23. ! #define __SOZOBON__
  24.   #endif
  25.   
  26.   /* general library stuff */
  27.   /* __SIZE_TYPEDEF__:     the type returned by sizeof() */
  28.   /* __PTRDIFF_TYPEDEF__: the type of the difference of two pointers */
  29.   /* __WCHAR_TYPEDEF__:     wide character type (i.e. type of L'x') */
  30. ! /* __EXITING: the type of a function that exits */
  31.   /* symbols to report about compiler features */
  32.   /* #define __NEED_VOID__    compiler doesn't have a void type */
  33.   /* #define __MSHORT__        compiler uses 16 bit integers */
  34. --- 9,33 ----
  35.   
  36.   /* symbols to identify the type of compiler */
  37.   #ifdef SOZOBON
  38. ! #define __SOZOBON__ SOZOBON
  39.   #endif
  40.   
  41. + #ifdef __SOZOBONC__
  42. + #define __SOZOBON__ __SOZOBONC__
  43. + #endif
  44. + #ifdef LATTICE
  45. + #define __LATTICE__
  46. + #endif
  47.   /* general library stuff */
  48.   /* __SIZE_TYPEDEF__:     the type returned by sizeof() */
  49.   /* __PTRDIFF_TYPEDEF__: the type of the difference of two pointers */
  50.   /* __WCHAR_TYPEDEF__:     wide character type (i.e. type of L'x') */
  51. ! /* __EXITING:           the type of a function that exits */
  52. ! /* __CDECL:             function must get parameters on stack */
  53. !         /* if !__CDECL, passing in registers is OK */
  54.   /* symbols to report about compiler features */
  55.   /* #define __NEED_VOID__    compiler doesn't have a void type */
  56.   /* #define __MSHORT__        compiler uses 16 bit integers */
  57. ***************
  58. *** 42,47 ****
  59. --- 53,68 ----
  60.   #endif
  61.   #endif
  62.   
  63. + #ifdef __LATTICE__
  64. + #define __SIZE_TYPEDEF__ unsigned long
  65. + #define __PTRDIFF_TYPEDEF__ long
  66. + #define __WCHAR_TYPEDEF__ char
  67. + #define __EXITING void
  68. + #ifdef _SHORTINT
  69. + # define __MSHORT__
  70. + #endif
  71. + #endif
  72.   #ifdef __C68__
  73.   #define __SIZE_TYPEDEF__ unsigned long
  74.   #define __PTRDIFF_TYPEDEF__ long
  75. ***************
  76. *** 61,80 ****
  77.   
  78.   /* Doesn't know (void *) is special (but can handle it); this works better. */
  79.   #define __NULL (0L)
  80.   #ifdef OLD_SOZOBON
  81.   #define void char
  82.   #endif
  83.   #define __SIZE_TYPEDEF__ unsigned int
  84.   #define __PTRDIFF_TYPEDEF__ long
  85.   #define __WCHAR_TYPEDEF__ char
  86.   #define __EXITING void
  87.   #define __MSHORT__
  88.   #endif
  89.   
  90. ! /* these are common to all compilers on the ST, I think */
  91.   #define __VA_LIST__ char *
  92.   
  93.   #ifndef __NULL
  94.   #  ifdef __MSHORT__
  95. --- 82,122 ----
  96.   
  97.   /* Doesn't know (void *) is special (but can handle it); this works better. */
  98.   #define __NULL (0L)
  99.   #ifdef OLD_SOZOBON
  100.   #define void char
  101.   #endif
  102.   #define __SIZE_TYPEDEF__ unsigned int
  103.   #define __PTRDIFF_TYPEDEF__ long
  104.   #define __WCHAR_TYPEDEF__ char
  105.   #define __EXITING void
  106.   #define __MSHORT__
  107. + #endif /* __SOZOBON__ */
  108. + #ifdef __TURBOC__
  109. + #ifndef __STDC__
  110. + #  define __STDC__ 1
  111.   #endif
  112. + #define __SIZE_TYPEDEF__ unsigned long
  113. + #define __PTRDIFF_TYPEDEF__ long
  114. + #define __WCHAR_TYPEDEF__ char
  115. + #define __EXITING void
  116. + #define __MSHORT__
  117. + #define __VA_LIST__ void *
  118. + #define __CDECL cdecl
  119. + #endif /* __TURBOC__ */
  120.   
  121. ! /* some default declarations */
  122. ! /* if your compiler needs something
  123. !  * different, define it above
  124. !  */
  125. ! #ifndef __VA_LIST__
  126.   #define __VA_LIST__ char *
  127. + #endif
  128. + #ifndef __CDECL
  129. + #define __CDECL
  130. + #endif
  131.   
  132.   #ifndef __NULL
  133.   #  ifdef __MSHORT__
  134. *** 1.10    1992/06/03 15:23:13
  135. --- dirent.h    1992/10/09 20:54:04
  136. ***************
  137. *** 15,20 ****
  138. --- 15,26 ----
  139.   # include <limits.h>
  140.   #endif
  141.   
  142. + #ifdef __MINT__
  143. + # ifndef _OSTRUCT_H
  144. + #  include <ostruct.h>
  145. + # endif
  146. + #endif
  147.   #ifdef __cplusplus
  148.   extern "C" {
  149.   #endif
  150. ***************
  151. *** 55,61 ****
  152.   #define _INSEARCH    0    /* need to call Fsnext for a new entry */
  153.   #define _STARTSEARCH    1    /* Fsfirst called once, successfully */
  154.   #define _NMFILE        2    /* no more files in directory */
  155. !     char    dta[44];    /* TOS DTA for this directory */
  156.       char    *dirname;    /* directory of the search (used under
  157.                      TOS for rewinddir) */
  158.       struct dirent buf;    /* dirent struct for this directory */
  159. --- 61,67 ----
  160.   #define _INSEARCH    0    /* need to call Fsnext for a new entry */
  161.   #define _STARTSEARCH    1    /* Fsfirst called once, successfully */
  162.   #define _NMFILE        2    /* no more files in directory */
  163. !     _DTA    dta;        /* TOS DTA for this directory */
  164.       char    *dirname;    /* directory of the search (used under
  165.                      TOS for rewinddir) */
  166.       struct dirent buf;    /* dirent struct for this directory */
  167. *** 1.7    1992/06/03 15:23:13
  168. --- float.h    1992/10/09 20:54:04
  169. ***************
  170. *** 15,20 ****
  171. --- 15,24 ----
  172.   #include <compiler.h>
  173.   #endif
  174.   
  175. + #ifdef __TURBOC__
  176. + #include <tcfloat.h>
  177. + #else
  178.   #ifdef __SOZOBON__
  179.   
  180.   /* 4/19/92 sb
  181. ***************
  182. *** 137,141 ****
  183. --- 141,147 ----
  184.   #define LDBL_MAX_10_EXP 308
  185.   
  186.   #endif /* __SOZOBON__ */
  187. + #endif /* __TURBOC__ */
  188.   
  189.   #endif /* _FLOAT_H */
  190. *** 1.16    1992/06/03 15:23:13
  191. --- ioctl.h    1992/10/09 20:54:05
  192. ***************
  193. *** 31,41 ****
  194.   #define TIOCGXKEY    (('T'<< 8) | 13)
  195.   #define TIOCSXKEY    (('T'<< 8) | 14)
  196.   
  197.   /* not yet implemented in MiNT */
  198. ! #define TIOCGETD    (('T'<<8) | 16)
  199. ! #define TIOCSETD    (('T'<<8) | 17)
  200. ! #define TIOCLGET    (('T'<<8) | 18)
  201. ! #define TIOCLSET    (('T'<<8) | 19)
  202.   
  203.   #define NTTYDISC    1
  204.   
  205. --- 31,48 ----
  206.   #define TIOCGXKEY    (('T'<< 8) | 13)
  207.   #define TIOCSXKEY    (('T'<< 8) | 14)
  208.   
  209. + #define TIOCIBAUD    (('T'<< 8) | 18)
  210. + #define TIOCOBAUD    (('T'<< 8) | 19)
  211. + #define TIOCCBRK    (('T'<< 8) | 20)
  212. + #define TIOCSBRK    (('T'<< 8) | 21)
  213. + #define TIOCGFLAGS    (('T'<< 8) | 22)
  214. + #define TIOCSFLAGS    (('T'<< 8) | 23)
  215.   /* not yet implemented in MiNT */
  216. ! #define TIOCGETD    (('T'<<8) | 252)
  217. ! #define TIOCSETD    (('T'<<8) | 253)
  218. ! #define TIOCLGET    (('T'<<8) | 254)
  219. ! #define TIOCLSET    (('T'<<8) | 255)
  220.   
  221.   #define NTTYDISC    1
  222.   
  223. ***************
  224. *** 42,47 ****
  225. --- 49,61 ----
  226.   /* ioctl's to act on processes */
  227.   #define PPROCADDR    (('P'<<8) | 1)
  228.   #define PBASEADDR    (('P'<<8) | 2)
  229. + #define PCTXTSIZE    (('P'<< 8) | 3)
  230. + #define PSETFLAGS    (('P'<< 8) | 4)
  231. + #define PGETFLAGS    (('P'<< 8) | 5)
  232. + /* shared memory ioctl's */
  233. + #define SHMGETBLK    (('M'<< 8) | 0)
  234. + #define SHMSETBLK    (('M'<< 8) | 1)
  235.   
  236.   #endif /* __MINT__ */
  237.   
  238. ***************
  239. *** 75,80 ****
  240. --- 89,95 ----
  241.   
  242.   /* Only ones that are likely to be used are here */
  243.   /* ok, but emacs thinks it knows their value */
  244. + #define B0        0
  245.   #define B50        1
  246.   #define B75        2
  247.   #define B110        3
  248. *** 1.10    1992/07/20 22:09:56
  249. --- keycodes.h    1992/10/09 20:54:05
  250. ***************
  251. *** 86,92 ****
  252.   __EXTERN void console_write_byte __PROTO((int handle, int n));
  253.   __EXTERN void console_set_key __PROTO((int keycode, char *regular, char *shifted, char *alted));
  254.   
  255. ! #ifdef __cplusplus
  256.   }
  257.   #endif
  258.   
  259. --- 86,92 ----
  260.   __EXTERN void console_write_byte __PROTO((int handle, int n));
  261.   __EXTERN void console_set_key __PROTO((int keycode, char *regular, char *shifted, char *alted));
  262.   
  263. ! #if defined(__cplusplus)
  264.   }
  265.   #endif
  266.   
  267. *** 1.9    1992/08/14 15:01:21
  268. --- limits.h    1992/10/09 20:54:05
  269. ***************
  270. *** 58,64 ****
  271.   /* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
  272.   #define ULONG_LONG_MAX 18446744073709551615ULL
  273.   
  274. ! #endif /* __GNUC__ && !__STRICT_ANSI__)
  275.   
  276.   #define MB_LEN_MAX    1    /* max. number of bytes in a multibyte character */
  277.   
  278. --- 58,64 ----
  279.   /* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
  280.   #define ULONG_LONG_MAX 18446744073709551615ULL
  281.   
  282. ! #endif /* __GNUC__ && !__STRICT_ANSI__ */
  283.   
  284.   #define MB_LEN_MAX    1    /* max. number of bytes in a multibyte character */
  285.   
  286. *** 1.11    1992/06/03 15:23:13
  287. --- linea.h    1992/10/09 20:54:05
  288. ***************
  289. *** 791,806 ****
  290.   
  291.   #define linea2()                             \
  292.   ({                                    \
  293. -     short retvalue;                            \
  294.       __asm__ volatile                        \
  295.       ("\
  296. !         .word   0xA002;  \
  297. !          movew    d0,%0"   \
  298. !     : "=g"(retvalue)                  /* outputs */    \
  299.       :                           /* inputs  */    \
  300.       : "d0", "d1", "d2", "a0", "a1", "a2"       /* clobbered regs */    \
  301.       );                                \
  302. -     (int)retvalue;                            \
  303.   })
  304.   
  305.   #define linea3()                             \
  306. --- 791,803 ----
  307.   
  308.   #define linea2()                             \
  309.   ({                                    \
  310.       __asm__ volatile                        \
  311.       ("\
  312. !         .word   0xA002" \
  313. !     :                           /* outputs */    \
  314.       :                           /* inputs  */    \
  315.       : "d0", "d1", "d2", "a0", "a1", "a2"       /* clobbered regs */    \
  316.       );                                \
  317.   })
  318.   
  319.   #define linea3()                             \
  320. ***************
  321. *** 919,929 ****
  322.                                           \
  323.       __asm__ volatile                        \
  324.       ("\
  325. !          movl    %0,a2;  \
  326. !         .word   0xA00C" \
  327.       :                           /* outputs */    \
  328. !     : "r"(P)                      /* inputs  */    \
  329. !     : "d0", "d1", "d2", "a0", "a1", "a2", "a6" /* clobbered regs */    \
  330.       );                                \
  331.   })
  332.   
  333. --- 916,928 ----
  334.                                           \
  335.       __asm__ volatile                        \
  336.       ("\
  337. !          movl    %0,a2;    \
  338. !         movl    a6,sp@-;\
  339. !         .word   0xA00C; \
  340. !         movl    sp@+,a6"\
  341.       :                           /* outputs */    \
  342. !     : "g"(P)                      /* inputs  */    \
  343. !     : "d0", "d1", "d2", "a0", "a1", "a2"       /* clobbered regs */    \
  344.       );                                \
  345.   })
  346.   
  347. ***************
  348. *** 937,946 ****
  349.            movw    %1,d1;  \
  350.            movl    %2,a0;  \
  351.            movl    %3,a2;  \
  352. !         .word   0xA00D" \
  353.       :                           /* outputs */    \
  354. !     : "r"(x), "r"(y), "r"(sd), "r"(ss)          /* inputs  */    \
  355. !     : "d0", "d1", "d2", "a0", "a1", "a2", "a6" /* clobbered regs */    \
  356.       );                                \
  357.   })
  358.   
  359. --- 936,947 ----
  360.            movw    %1,d1;  \
  361.            movl    %2,a0;  \
  362.            movl    %3,a2;  \
  363. !         movl    a6,sp@-;\
  364. !         .word   0xA00D; \
  365. !         movl    sp@+,a6"\
  366.       :                           /* outputs */    \
  367. !     : "g"(x), "g"(y), "g"(sd), "g"(ss)          /* inputs  */    \
  368. !     : "d0", "d1", "d2", "a0", "a1", "a2"       /* clobbered regs */    \
  369.       );                                \
  370.   })
  371.   
  372. *** 1.15    1992/07/20 22:09:56
  373. --- math.h    1992/10/09 20:54:06
  374. ***************
  375. *** 46,51 ****
  376. --- 46,57 ----
  377.   extern "C" {
  378.   #endif
  379.   
  380. + #ifdef __TURBOC__
  381. + #include <tcmath.h>
  382. + #else
  383.   #ifndef __STRICT_ANSI__
  384.   /*
  385.    *    Create the type "COMPLEX".  This is an obvious extension that I
  386. ***************
  387. *** 76,94 ****
  388.       double        retval; /* val to return */
  389.   };
  390.   
  391. ! #define M_LN2        0.69314718055994530942
  392. ! #define M_PI        3.14159265358979323846
  393. ! #define M_SQRT2        1.41421356237309504880
  394. ! #define M_E        2.7182818284590452354
  395. ! #define M_LOG2E        1.4426950408889634074
  396. ! #define M_LOG10E    0.43429448190325182765
  397. ! #define M_LN10        2.30258509299404568402
  398. ! #define M_PI_2        1.57079632679489661923
  399. ! #define M_PI_4        0.78539816339744830962
  400. ! #define M_1_PI        0.31830988618379067154
  401. ! #define M_2_PI        0.63661977236758134308
  402. ! #define M_2_SQRTPI    1.12837916709551257390
  403. ! #define M_SQRT1_2    0.70710678118654752440
  404.   
  405.   #endif /* __STRICT_ANSI__ */
  406.   
  407. --- 82,100 ----
  408.       double        retval; /* val to return */
  409.   };
  410.   
  411. ! #define M_LN2                0.69314718055994530942
  412. ! #define M_PI         3.14159265358979323846
  413. ! #define M_SQRT2              1.41421356237309504880
  414. ! #define M_E          2.7182818284590452354
  415. ! #define M_LOG2E              1.4426950408889634074
  416. ! #define M_LOG10E     0.43429448190325182765
  417. ! #define M_LN10               2.30258509299404568402
  418. ! #define M_PI_2               1.57079632679489661923
  419. ! #define M_PI_4               0.78539816339744830962
  420. ! #define M_1_PI               0.31830988618379067154
  421. ! #define M_2_PI               0.63661977236758134308
  422. ! #define M_2_SQRTPI   1.12837916709551257390
  423. ! #define M_SQRT1_2    0.70710678118654752440
  424.   
  425.   #endif /* __STRICT_ANSI__ */
  426.   
  427. ***************
  428. *** 183,188 ****
  429. --- 189,196 ----
  430.   __EXTERN double ldexp    __PROTO((double, int));
  431.   __EXTERN double frexp    __PROTO((double, int *));
  432.   #endif /* !_M68881 */
  433. + #endif /* __TURBOC__ */
  434.   
  435.   #ifdef __cplusplus
  436.   }
  437. *** 1.9    1992/08/14 15:01:21
  438. --- mintbind.h    1992/10/09 20:54:06
  439. ***************
  440. *** 1,14 ****
  441.   #ifndef _MINTBIND_H
  442.   #define _MINTBIND_H
  443.   
  444. ! #ifdef __TURBOC__
  445. ! # ifndef __TOS
  446. ! #  include <tos.h>
  447. ! # endif
  448. ! #else
  449. ! # ifndef _OSBIND_H
  450. ! #  include <osbind.h>
  451. ! # endif
  452.   #endif
  453.   
  454.   #ifdef __cplusplus
  455. --- 1,8 ----
  456.   #ifndef _MINTBIND_H
  457.   #define _MINTBIND_H
  458.   
  459. ! #ifndef _OSBIND_H
  460. ! #include <osbind.h>
  461.   #endif
  462.   
  463.   #ifdef __cplusplus
  464. ***************
  465. *** 15,20 ****
  466. --- 9,84 ----
  467.   extern "C" {
  468.   #endif
  469.   
  470. + #ifdef __TURBOC__
  471. + /* we supply a library of bindings for TurboC / PureC */
  472. + int Syield( void );                /* GEMDOS 0xff */
  473. + int Fpipe( short *ptr );            /* GEMDOS 0x100 */
  474. + long Fcntl( int f, long arg, int cmd);        /* GEMDOS 0x104 */
  475. + #define Fcntl(f, arg, cmd) Fcntl(f, (long)(arg), cmd)
  476. + long Finstat( int f );                /* GEMDOS 0x105 */
  477. + long Foutstat( int f );                /* GEMDOS 0x106 */
  478. + long Fgetchar(int f, int mode);            /* GEMDOS 0x107 */
  479. + long Fputchar( int f, long c, int mode );     /* GEMDOS 0x108 */
  480. + long Pwait( void );                /* GEMDOS 0x109 */
  481. + int Pnice( int delta );                /* GEMDOS 0x10a */
  482. + int Pgetpid( void );                /* GEMDOS 0x10b */
  483. + int Pgetppid( void );                /* GEMDOS 0x10c */
  484. + int Pgetpgrp( void );                /* GEMDOS 0x10d */
  485. + int Psetpgrp(int pid, int newgrp);        /* GEMDOS 0x10e */
  486. + int Pgetuid( void );                /* GEMDOS 0x10f */
  487. + int Psetuid( int id );                /* GEMDOS 0x110 */
  488. + int Pkill( int pid, int sig );            /* GEMDOS 0x111 */
  489. + long Psignal(int sig, long handler);        /* GEMDOS 0x112 */
  490. + long Pvfork( void );                /* GEMDOS 0x113 */
  491. + int Pgetgid( void );                /* GEMDOS 0x114 */
  492. + int Psetgid(int id);                /* GEMDOS 0x115 */
  493. + long Psigblock(unsigned long mask);        /* GEMDOS 0x116 */
  494. + long Psigsetmask(unsigned long mask);        /* GEMDOS 0x117 */
  495. + long Pusrval(long arg);                /* GEMDOS 0x118 */
  496. + int Pdomain(int newdom);            /* GEMDOS 0x119 */
  497. + void Psigreturn( void );            /* GEMDOS 0x11a */
  498. + long Pfork( void );                /* GEMDOS 0x11b */
  499. + long Pwait3(int flag, long *rusage);        /* GEMDOS 0x11c */
  500. + int Fselect(unsigned int timeout, long *rfds, long *wfds, long *xfds); /* GEMDOS 0x11d */
  501. + int Prusage( long r[8] );            /* GEMDOS 0x11e */
  502. + long Psetlimit(int lim, long value);        /* GEMDOS 0x11f */
  503. + long Talarm( long secs );            /* GEMDOS 0x120 */
  504. + void Pause( void );                /* GEMDOS 0x121 */
  505. + long Sysconf( int n );                /* GEMDOS 0x122 */
  506. + long Psigpending( void );            /* GEMDOS 0x123 */
  507. + long Dpathconf( const char *name, int n );    /* GEMDOS 0x124 */
  508. + long Pmsg( int mode, long mbox, void *msg );     /* GEMDOS 0x125 */
  509. + long Fmidipipe( int pid, int in, int out );    /* GEMDOS 0x126 */
  510. + int Prenice( int pid, int delta );        /* GEMDOS 0x127 */
  511. + long Dopendir( const char *name, int flag );    /* GEMDOS 0x128 */
  512. + long Dreaddir( int buflen, long dir, char *buf); /*GEMDOS 0x129 */
  513. + #define Dreaddir(buflen, dir, buf) Dreaddir(buflen, (long)(dir), buf)
  514. + long Drewinddir( long dir );            /* GEMDOS 0x12a */
  515. + #define Drewinddir(dir) Drewinddir((long)(dir))
  516. + long Dclosedir( long dir );            /* GEMDOS 0x12b */
  517. + #define Dclosedir(dir) Dclosedir((long)(dir))
  518. + long Fxattr( int flag, char *name, void *buf );    /* GEMDOS 0x12c */
  519. + long Flink( char *oldname, char *newname );    /* GEMDOS 0x12d */
  520. + long Fsymlink( char *oldname, char *newname );    /* GEMDOS 0x12e */
  521. + long Freadlink( int siz, char *buf, char *name); /*GEMDOS 0x12f */
  522. + long Dcntl( int cmd, char *name, long arg );    /* GEMDOS 0x130 */
  523. + long Fchown( char *name, int uid, int gid);    /* GEMDOS 0x131 */
  524. + long Fchmod( char *name, int mode );        /* GEMDOS 0x132 */
  525. + int Pumask( int mask );                /* GEMDOS 0x133 */
  526. + long Psemaphore(int mode, long id, long timeout); /* GEMDOS 0x134 */
  527. + int Dlock( int mode, int drive );        /* GEMDOS 0x135 */
  528. + void Psigpause( unsigned long mask);        /* GEMDOS 0x136 */
  529. + long Psigaction(int sig, long act, long oact);    /* GEMDOS 0x137 */
  530. + #define Psigaction(sig, act, oact) \
  531. +     Psigaction(sig, (long)(act), (long)(oact))
  532. + int Pgeteuid( void );                /* GEMDOS 0x138 */
  533. + int Pgetegid( void );                /* GEMDOS 0x139 */
  534. + int Pwaitpid(int pid, int flag, long *rusage);    /* GEMDOS 0x13a */
  535. + #else /* !__TURBOC__ */
  536.   #ifdef __GNUC_INLINE__
  537.   #define trap_1_wwlw(n, a, b, c)                        \
  538.   ({                                    \
  539. ***************
  540. *** 30,36 ****
  541.           movw    %2,sp@-; \
  542.           movw    %1,sp@-; \
  543.           trap    #1;    \
  544. !         addw    #10,sp "                    \
  545.       : "=r"(retvalue)            /* outputs */        \
  546.       : "g"(n), "r"(_a), "r"(_b), "r"(_c)     /* inputs  */        \
  547.       : "d0", "d1", "d2", "a0", "a1", "a2"    /* clobbered regs */    \
  548. --- 94,100 ----
  549.           movw    %2,sp@-; \
  550.           movw    %1,sp@-; \
  551.           trap    #1;    \
  552. !         lea    sp@(10),sp " \
  553.       : "=r"(retvalue)            /* outputs */        \
  554.       : "g"(n), "r"(_a), "r"(_b), "r"(_c)     /* inputs  */        \
  555.       : "d0", "d1", "d2", "a0", "a1", "a2"    /* clobbered regs */    \
  556. ***************
  557. *** 52,58 ****
  558.           movw    %2,sp@-; \
  559.           movw    %1,sp@-; \
  560.           trap    #1;    \
  561. !         addw    #10,sp "                    \
  562.       : "=r"(retvalue)            /* outputs */        \
  563.       : "g"(n), "r"(_a), "r"(_b), "r"(_c)     /* inputs  */        \
  564.       : "d0", "d1", "d2", "a0", "a1", "a2"    /* clobbered regs */    \
  565. --- 116,144 ----
  566.           movw    %2,sp@-; \
  567.           movw    %1,sp@-; \
  568.           trap    #1;    \
  569. !         addqw    #8,sp "                    \
  570. !     : "=r"(retvalue)            /* outputs */        \
  571. !     : "g"(n), "r"(_a), "r"(_b), "r"(_c)     /* inputs  */        \
  572. !     : "d0", "d1", "d2", "a0", "a1", "a2"    /* clobbered regs */    \
  573. !     );                                \
  574. !     retvalue;                            \
  575. ! })
  576. ! #define trap_1_wwwl(n, a, b, c)                        \
  577. ! ({                                    \
  578. !     register long retvalue __asm__("d0");                \
  579. !     short _a = (short)(a);                        \
  580. !     short  _b = (short)(b);                        \
  581. !     long  _c = (long)(c);                        \
  582. !                                         \
  583. !     __asm__ volatile                        \
  584. !     ("\
  585. !         movl    %4,sp@-; \
  586. !         movw    %3,sp@-; \
  587. !         movw    %2,sp@-; \
  588. !         movw    %1,sp@-; \
  589. !         trap    #1;    \
  590. !         lea     sp@(10),sp "                    \
  591.       : "=r"(retvalue)            /* outputs */        \
  592.       : "g"(n), "r"(_a), "r"(_b), "r"(_c)     /* inputs  */        \
  593.       : "d0", "d1", "d2", "a0", "a1", "a2"    /* clobbered regs */    \
  594. ***************
  595. *** 72,78 ****
  596.           movw    %2,sp@-; \
  597.           movw    %1,sp@-; \
  598.           trap    #1;    \
  599. !         addw    #8,sp "                        \
  600.       : "=r"(retvalue)            /* outputs */        \
  601.       : "g"(n), "r"(_a), "r"(_b)        /* inputs  */        \
  602.       : "d0", "d1", "d2", "a0", "a1", "a2"    /* clobbered regs */    \
  603. --- 158,164 ----
  604.           movw    %2,sp@-; \
  605.           movw    %1,sp@-; \
  606.           trap    #1;    \
  607. !         addqw    #8,sp "                    \
  608.       : "=r"(retvalue)            /* outputs */        \
  609.       : "g"(n), "r"(_a), "r"(_b)        /* inputs  */        \
  610.       : "d0", "d1", "d2", "a0", "a1", "a2"    /* clobbered regs */    \
  611. ***************
  612. *** 219,230 ****
  613.           (int)trap_1_www(0x135, (short)(mode), (short)(drive))
  614.   #define Psigpause(mask)                        \
  615.           (void)trap_1_wl(0x136, (unsigned long)(mask))
  616. ! #define Psigaction(sig, act, oact)                \
  617.           trap_1_wwll(0x137, (short)(sig), (long)(act), (long)(oact))
  618.   #define Pgeteuid()                        \
  619. !         (short)trap_1_w(0x138)
  620.   #define Pgetegid()                        \
  621. !         (short)trap_1_w(0x139)
  622.   
  623.   #ifdef __cplusplus
  624.   }
  625. --- 305,320 ----
  626.           (int)trap_1_www(0x135, (short)(mode), (short)(drive))
  627.   #define Psigpause(mask)                        \
  628.           (void)trap_1_wl(0x136, (unsigned long)(mask))
  629. ! #define Psigaction(sig, act, oact)                    \
  630.           trap_1_wwll(0x137, (short)(sig), (long)(act), (long)(oact))
  631.   #define Pgeteuid()                        \
  632. !         (int)trap_1_w(0x138)
  633.   #define Pgetegid()                        \
  634. !         (int)trap_1_w(0x139)
  635. ! #define Pwaitpid(pid,flag, rusage)                \
  636. !         trap_1_wwwl(0x13a, (short)(pid), (short)(flag), (long)(rusage))
  637. ! #endif /* __TURBOC__ */
  638.   
  639.   #ifdef __cplusplus
  640.   }
  641. *** 1.4    1992/06/03 15:23:13
  642. --- obstack.h    1992/10/09 20:54:07
  643. ***************
  644. *** 139,146 ****
  645.     char    *chunk_limit;        /* address of char after current chunk */
  646.     long    temp;            /* Temporary for some macros.  */
  647.     int   alignment_mask;        /* Mask of alignment for each object. */
  648. !   struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chunk.  */
  649. !   void (*freefun) ();        /* User's function to free a chunk.  */
  650.     /* Nonzero means there is a possibility the current chunk contains
  651.        a zero-length object.  This prevents freeing the chunk
  652.        if we allocate a bigger chunk to replace it.  */
  653. --- 139,146 ----
  654.     char    *chunk_limit;        /* address of char after current chunk */
  655.     long    temp;            /* Temporary for some macros.  */
  656.     int   alignment_mask;        /* Mask of alignment for each object. */
  657. !   struct _obstack_chunk *(*chunkfun) __PROTO((size_t)); /* User's fcn to allocate a chunk.  */
  658. !   void (*freefun) __PROTO((struct _obstack_chunk*));    /* User's function to free a chunk.  */
  659.     /* Nonzero means there is a possibility the current chunk contains
  660.        a zero-length object.  This prevents freeing the chunk
  661.        if we allocate a bigger chunk to replace it.  */
  662. *** 1.27    1992/06/03 15:23:13
  663. --- osbind.h    1992/10/09 20:54:07
  664. ***************
  665. *** 111,116 ****
  666. --- 111,278 ----
  667.   #include <ostruct.h>
  668.   #endif
  669.   
  670. + #ifdef __TURBOC__
  671. + /* we supply a library of bindings for TurboC / PureC */
  672. + long    gemdos( void, ... );
  673. + long    bios( void, ... );
  674. + long    xbios( void, ... );
  675. + /* Gemdos prototypes */
  676. + void    Pterm0( void );
  677. + long    Cconin( void );
  678. + void    Cconout( int c );
  679. + int     Cauxin( void );
  680. + void    Cauxout( int c );
  681. + int     Cprnout( int c );
  682. + long    Crawio( int w );
  683. + long    Crawcin( void );
  684. + long    Cnecin( void );
  685. + int     Cconws( const char *buf );
  686. + void    Cconrs( LINE *buf );
  687. + int     Cconis( void );
  688. + long    Dsetdrv( int drv );
  689. + int     Cconos( void );
  690. + int     Cprnos( void );
  691. + int     Cauxis( void );
  692. + int     Cauxos( void );
  693. + int     Dgetdrv( void );
  694. + void    Fsetdta( _DTA *buf );
  695. + long    Super( void *stack );
  696. + unsigned int  Tgetdate( void );
  697. + unsigned int  Tsetdate( unsigned int date );
  698. + unsigned int  Tgettime( void );
  699. + unsigned int  Tsettime( unsigned int time );
  700. + _DTA    *Fgetdta( void );
  701. + int     Sversion( void );
  702. + void    Ptermres( long keepcnt, int retcode );
  703. + int     Dfree( _DISKINFO *buf, int driveno );
  704. + int     Dcreate( const char *path );
  705. + int     Ddelete( const char *path );
  706. + int     Dsetpath( const char *path );
  707. + long    Fcreate( const char *filename, int attr );
  708. + long    Fopen( const char *filename, int mode );
  709. + int     Fclose( int handle );
  710. + long    Fread( int handle, long count, void *buf );
  711. + long    Fwrite( int handle, long count, void *buf );
  712. + int     Fdelete( const char *filename );
  713. + long    Fseek( long offset, int handle, int seekmode );
  714. + int     Fattrib( const char *filename, int wflag, int attrib );
  715. + long    Fdup( int handle );
  716. + long    Fforce( int stch, int nonstdh );
  717. + int     Dgetpath( char *path, int driveno );
  718. + void    *Malloc( long number );
  719. + int     Mfree( void *block );
  720. + int     Mshrink( int zero, void *ptr, long size );
  721. + #define Mshrink(ptr, size) Mshrink(0, ptr, size)
  722. + long    Pexec( int mode, char *ptr1, void *ptr2, void *ptr3 );
  723. + void    Pterm( int retcode );
  724. + int     Fsfirst( const char *filename, int attr );
  725. + int     Fsnext( void );
  726. + int     Frename( int zero, const char *oldname, const char *newname );
  727. + int     Fdatime( _DOSTIME *timeptr, int handle, int wflag );
  728. + /* GEMDOS extensions */
  729. + void    *Mxalloc( long number, int mode );
  730. + long    Maddalt( void *start, long size );
  731. + /****** Network Gemdos Extension ****************************************/
  732. + long    Nversion( void );
  733. + long    Frlock( int handle, long start, long count );
  734. + long    Frunlock( int handle, long start );
  735. + long    Flock( int handle, long count );
  736. + long    Funlock( int handle );
  737. + long    Fflush( int handle );
  738. + long    Unlock( const char *path );
  739. + long    Lock( const char *path );
  740. + /* BIOS */
  741. + void    Getmpb( _MPB *ptr );
  742. + int     Bconstat( int dev );
  743. + long    Bconin( int dev );
  744. + void    Bconout( int dev, int c );
  745. + long    Rwabs( int rwflag, void *buf, int cnt, int recnr, int dev );
  746. + void    (*Setexc( int number, void (*exchdlr)() )) ();
  747. + long    Tickcal( void );
  748. + _BPB    *Getbpb( int dev );
  749. + long    Bcostat( int dev );
  750. + long    Mediach( int dev );
  751. + long    Drvmap( void );
  752. + long    Kbshift( int mode );
  753. + #define Getshift() Kbshift(-1)
  754. + /* XBios */
  755. + void    Initmous( int type, _PARAM *par, void (*mousevec)() );
  756. + void    *Ssbrk( int count );
  757. + void    *Physbase( void );
  758. + void    *Logbase( void );
  759. + int     Getrez( void );
  760. + void    Setscreen( void *laddr, void *paddr, int rez );
  761. + void    Setpalette( void *pallptr );
  762. + int     Setcolor( int colornum, int color );
  763. + int     Floprd( void *buf, long filler, int devno, int sectno,
  764. +                int trackno, int sideno, int count );
  765. + int     Flopwr( void *buf, long filler, int devno, int sectno,
  766. +                int trackno, int sideno, int count );
  767. + int     Flopfmt( void *buf, long filler, int devno, int spt, int trackno,
  768. +                 int sideno, int interlv, long magic, int virgin );
  769. + void    Midiws( int cnt, void *ptr );
  770. + void    Mfpint( int erno, void (*vector)() );
  771. + _IOREC   *Iorec( int dev );
  772. + long    Rsconf( int baud, int ctr, int ucr, int rsr, int tsr, int scr );
  773. + _KEYTAB  *Keytbl( void *unshift, void *shift, void *capslock );
  774. + long    Random( void );
  775. + void    Protobt( void *buf, long serialno, int disktype, int execflag );
  776. + int     Flopver( void *buf, long filler, int devno, int sectno,
  777. +                 int trackno, int sideno, int count );
  778. + void    Scrdmp( void );
  779. + int     Cursconf( int func, int rate );
  780. + void    Settime( unsigned long time );
  781. + unsigned long  Gettime( void );
  782. + void    Bioskeys( void );
  783. + void    Ikbdws( int count, void *ptr );
  784. + void    Jdisint( int number );
  785. + void    Jenabint( int number );
  786. + char    Giaccess( char data, int regno );
  787. + void    Offgibit( int bitno );
  788. + void    Ongibit( int bitno );
  789. + void    Xbtimer( int timer, int control, int data, void (*vector)() );
  790. + void    *Dosound( void *buf );
  791. + int     Setprt( int config );
  792. + _KBDVECS *Kbdvbase( void );
  793. + int     Kbrate( int initial, int repeat );
  794. + void    Prtblk( _PBDEF *par );
  795. + void    Vsync( void );
  796. + long    Supexec( long (*func)() );
  797. + #define Supexec(func) Supexec((long (*) ()) func)
  798. + void    Puntaes( void );
  799. + int     Floprate( int devno, int newrate );
  800. + int     Blitmode( int mode );
  801. + /* TOS030 XBios */
  802. + int     DMAread( long sector, int count, void *buffer, int devno );
  803. + int     DMAwrite( long sector, int count, void *buffer, int devno );
  804. + int     NVMaccess( int opcode, int start, int count, void *buffer );
  805. + long    Bconmap( int devno );
  806. + int     Esetshift( int shftMode );
  807. + #define EsetShift Esetshift
  808. + int     Egetshift( void );
  809. + #define EgetShift Egetshift
  810. + int     EsetBank( int bankNum );
  811. + int     EsetColor( int colorNum, int color );
  812. + void    EsetPalette( int colorNum, int count, int *palettePtr );
  813. + void    EgetPalette( int colorNum, int count, int *palettePtr );
  814. + int     EsetGray( int swtch );
  815. + int     EsetSmear( int swtch );
  816. + #else /* !__TURBOC__ */
  817.   /* want to skip all the gory details of GNU C inlines??
  818.      search for the string "DEFINITIONS" */
  819.   
  820. ***************
  821. *** 990,996 ****
  822.   #define           Tsettime(time)                           \
  823.          (long)trap_1_ww((short)(0x2D),(short)(time))
  824.   #define           Fgetdta()                           \
  825. !        (long)trap_1_w((short)(0x2F))
  826.   #define           Sversion()                           \
  827.          (short)trap_1_w((short)(0x30))
  828.   #define           Ptermres(save,rv)                       \
  829. --- 1152,1158 ----
  830.   #define           Tsettime(time)                           \
  831.          (long)trap_1_ww((short)(0x2D),(short)(time))
  832.   #define           Fgetdta()                           \
  833. !        (_DTA *)trap_1_w((short)(0x2F))
  834.   #define           Sversion()                           \
  835.          (short)trap_1_w((short)(0x30))
  836.   #define           Ptermres(save,rv)                       \
  837. ***************
  838. *** 1104,1110 ****
  839.   #define           Setscreen(lscrn,pscrn,rez)                   \
  840.          (void)trap_14_wllw((short)(0x05),(long)(lscrn),(long)(pscrn), \
  841.                 (short)(rez))
  842. ! #define           Setpallete(palptr)                       \
  843.          (void)trap_14_wl((short)(0x06),(long)(palptr))
  844.   #define           Setcolor(colornum,mixture)                   \
  845.          (short)trap_14_www((short)(0x07),(short)(colornum),(short)(mixture))
  846. --- 1266,1272 ----
  847.   #define           Setscreen(lscrn,pscrn,rez)                   \
  848.          (void)trap_14_wllw((short)(0x05),(long)(lscrn),(long)(pscrn), \
  849.                 (short)(rez))
  850. ! #define           Setpalette(palptr)                       \
  851.          (void)trap_14_wl((short)(0x06),(long)(palptr))
  852.   #define           Setcolor(colornum,mixture)                   \
  853.          (short)trap_14_www((short)(0x07),(short)(colornum),(short)(mixture))
  854. ***************
  855. *** 1201,1208 ****
  856.   #define        Maddalt(start,size)                    \
  857.       (long)trap_1_wll((short)(0x14),(long)(start),(long)(size))
  858.   
  859. - #define            Setpalette(palptr)                    \
  860. -     (void)trap_14_wl((short)(0x06),(long)(palptr))
  861.   #define         EsetShift(mode)                        \
  862.       (void)trap_14_ww((short)(80),(short)mode)
  863.   #define         EgetShift()                        \
  864. --- 1363,1368 ----
  865. ***************
  866. *** 1243,1246 ****
  867. --- 1403,1407 ----
  868.   }
  869.   #endif
  870.   
  871. + #endif /* __TURBOC__ */
  872.   #endif /* _OSBIND_H */
  873. *** 1.4    1992/06/03 15:23:13
  874. --- ostruct.h    1992/10/09 20:54:07
  875. ***************
  876. *** 32,37 ****
  877. --- 32,49 ----
  878.     short date;
  879.   } _DOSTIME;
  880.   
  881. + /* Structure used by Cconrs */
  882. + typedef struct
  883. + {
  884. +         unsigned char maxlen;
  885. +         unsigned char actuallen;
  886. +         char    buffer[255];
  887. + } _CCONLINE;
  888. + #ifdef __TURBOC__
  889. + #define LINE _CCONLINE
  890. + #endif
  891.   /* Structure used by Fgetdta(), Fsetdta(), Fsfirst(), Fsnext() */
  892.   typedef struct _dta {
  893.       char         dta_buf[21];    /* reserved */
  894. ***************
  895. *** 135,140 ****
  896. --- 147,160 ----
  897.       short   ibufhi;
  898.   } _IOREC;
  899.   
  900. + /* Structure used by Initmouse() */
  901. + typedef struct {
  902. +     char    topmode;
  903. +     char    buttons;
  904. +     char    xparam;
  905. +     char    yparam;
  906. + } _PARAM;
  907.   /* Structure returned by Kbdvbase() */
  908.   typedef struct {
  909.       void    (*midivec)    __PROTO((void));
  910. ***************
  911. *** 155,160 ****
  912. --- 175,197 ----
  913.       void *shift;    /* pointer to shifted keys */
  914.       void *caps;        /* pointer to capslock keys */
  915.   } _KEYTAB;
  916. + /* Structure used by Prtblk() */
  917. + typedef struct
  918. + {
  919. +         void    *pb_scrptr;
  920. +         int     pb_offset;
  921. +         int     pb_width;
  922. +         int     pb_height;
  923. +         int     pb_left;
  924. +         int     pb_right;
  925. +         int     pb_screz;
  926. +         int     pb_prrez;
  927. +         void    *pb_colptr;
  928. +         int     pb_prtype;
  929. +         int     pb_prport;
  930. +         void    *pb_mask;
  931. + } _PBDEF;
  932.   
  933.   #ifdef __cplusplus
  934.   }
  935. *** 1.5    1992/06/03 15:23:13
  936. --- regexp.h    1992/10/09 20:54:07
  937. ***************
  938. *** 7,12 ****
  939. --- 7,16 ----
  940.   #include <compiler.h>
  941.   #endif
  942.   
  943. + #ifndef _TYPES_H
  944. + #include <types.h>
  945. + #endif
  946.   #ifdef __cplusplus
  947.   extern "C" {
  948.   #endif
  949. ***************
  950. *** 19,25 ****
  951.       char regstart;        /* Internal use only. */
  952.       char reganch;        /* Internal use only. */
  953.       char *regmust;        /* Internal use only. */
  954. !     int regmlen;        /* Internal use only. */
  955.       char program[1];    /* Unwarranted chumminess with compiler. */
  956.   } regexp;
  957.   
  958. --- 23,29 ----
  959.       char regstart;        /* Internal use only. */
  960.       char reganch;        /* Internal use only. */
  961.       char *regmust;        /* Internal use only. */
  962. !     size_t regmlen;        /* Internal use only. */
  963.       char program[1];    /* Unwarranted chumminess with compiler. */
  964.   } regexp;
  965.   
  966. *** 1.13    1992/06/03 15:23:13
  967. --- setjmp.h    1992/10/09 20:54:08
  968. ***************
  969. *** 9,15 ****
  970.   extern "C" {
  971.   #endif
  972.   
  973. ! typedef char * jmp_buf[14];
  974.   
  975.   __EXTERN int    setjmp    __PROTO((jmp_buf));
  976.   __EXTERN void    longjmp    __PROTO((jmp_buf, int));
  977. --- 9,27 ----
  978.   extern "C" {
  979.   #endif
  980.   
  981. ! #ifdef __TURBOC__
  982. ! #  ifdef __68881__
  983. ! typedef char jmp_buf[12 * 4 + 5 * 12];
  984. ! #  else
  985. ! typedef char *jmp_buf[12];
  986. ! #  endif
  987. ! #else /* __TURBOC__ */
  988. ! typedef char *jmp_buf[14];
  989. ! #endif /* __TURBOC__ */
  990.   
  991.   __EXTERN int    setjmp    __PROTO((jmp_buf));
  992.   __EXTERN void    longjmp    __PROTO((jmp_buf, int));
  993. *** 1.17    1992/06/03 15:23:13
  994. --- signal.h    1992/10/09 20:54:08
  995. ***************
  996. *** 47,53 ****
  997.   #define SIGUSR1        29        /* user signal 1 */
  998.   #define SIGUSR2        30        /* user signal 2 */
  999.   
  1000. ! typedef void (*__Sigfunc) __PROTO((int signum));
  1001.   typedef short sig_atomic_t;
  1002.   
  1003.   #define       SIG_DFL    ((__Sigfunc)0L)
  1004. --- 47,53 ----
  1005.   #define SIGUSR1        29        /* user signal 1 */
  1006.   #define SIGUSR2        30        /* user signal 2 */
  1007.   
  1008. ! typedef void __CDECL (*__Sigfunc) __PROTO((int signum));
  1009.   typedef short sig_atomic_t;
  1010.   
  1011.   #define       SIG_DFL    ((__Sigfunc)0L)
  1012. ***************
  1013. *** 59,70 ****
  1014.   
  1015.   #ifdef __MINT__
  1016.   # ifndef __STRICT_ANSI__
  1017. ! __EXTERN long    sigsetmask    __PROTO((long mask));
  1018. ! __EXTERN long    sigblock    __PROTO((long mask));
  1019.   
  1020.   /* a mask for signals */
  1021.   #define sigmask(sig) (1L << (sig))
  1022. ! # endif
  1023.   #endif /* __MINT__ */
  1024.   
  1025.   #ifdef __cplusplus
  1026. --- 59,80 ----
  1027.   
  1028.   #ifdef __MINT__
  1029.   # ifndef __STRICT_ANSI__
  1030. ! struct sigaction {
  1031. !     __Sigfunc    sa_handler;    /* pointer to signal handler */
  1032. !     long        sa_mask;    /* additional signals masked during delivery */
  1033. ! /* pain here... POSIX forces us to use int, we would prefer short */
  1034. !     int         sa_flags;    /* signal specific flags */
  1035. ! /* signal flags */
  1036. ! #define SA_NOCLDSTOP    1    /* don't send SIGCHLD when they stop */
  1037. ! };
  1038.   
  1039. + __EXTERN long    sigsetmask __PROTO((long mask));
  1040. + __EXTERN long    sigblock   __PROTO((long mask));
  1041. + __EXTERN int    sigaction  __PROTO((int, const struct sigaction *,
  1042. +                 struct sigaction *));
  1043.   /* a mask for signals */
  1044.   #define sigmask(sig) (1L << (sig))
  1045. ! # endif /* __STRICT_ANSI__ */
  1046.   #endif /* __MINT__ */
  1047.   
  1048.   #ifdef __cplusplus
  1049. *** 1.8    1992/08/14 15:01:21
  1050. --- st-out.h    1992/10/09 20:54:08
  1051. ***************
  1052. *** 20,25 ****
  1053. --- 20,39 ----
  1054.   #define a_AZero2 a_ldflgs    /* compatibility */
  1055.   unsigned short    a_isreloc;    /* is reloc info present */
  1056.   };
  1057. + /*
  1058. +  * ldflgs - stolen from MiNT mem.h
  1059. +  */
  1060. + #define F_FASTLOAD    0x01    /* don't clear heap */
  1061. + #define F_ALTLOAD    0x02    /* OK to load in alternate RAM */
  1062. + #define F_ALTALLOC    0x04    /* OK to malloc from alt. RAM */
  1063. + #define F_RESERVED    0x08    /* reserved for future use */
  1064. + #define F_MEMFLAGS    0xf0    /* reserved for future use */
  1065. + #define F_SHTEXT    0x800    /* program's text may be shared */
  1066. + #define BASE_OFFSET    (-32768)
  1067.   #define    CMAGIC    0x601A        /* contiguous text */
  1068.   #define    ISRELOCINFO    0    /* relocation information is present */
  1069.                   /*  any other value - no reloc info  */
  1070. *** 1.7    1992/06/03 15:23:13
  1071. --- stdarg.h    1992/10/09 20:54:09
  1072. ***************
  1073. *** 10,26 ****
  1074.   #include <compiler.h>
  1075.   #endif
  1076.   
  1077.   typedef    __VA_LIST__ va_list;
  1078.   
  1079. ! #ifndef __GNUC__
  1080. ! #define va_start(list,param)  list = ((va_list) &(param)) \
  1081. !                    + ((sizeof(param) + 1) & ~1)
  1082. ! #define va_arg(list,type)     ((type *)(list += ((sizeof(type) + 1) & ~1)))[-1]
  1083. ! #define va_end(list)
  1084. ! #else
  1085.   
  1086.   /* Amount of space required in an argument list for an arg of type TYPE.
  1087.      TYPE may alternatively be an expression whose type is used.  */
  1088. --- 10,18 ----
  1089.   #include <compiler.h>
  1090.   #endif
  1091.   
  1092.   typedef    __VA_LIST__ va_list;
  1093.   
  1094. ! #ifdef __GNUC__
  1095.   
  1096.   /* Amount of space required in an argument list for an arg of type TYPE.
  1097.      TYPE may alternatively be an expression whose type is used.  */
  1098. ***************
  1099. *** 36,41 ****
  1100. --- 28,46 ----
  1101.   #define va_arg(AP, TYPE)                        \
  1102.    (AP += __va_rounded_size (TYPE),                    \
  1103.     ((TYPE *) AP)[-1])
  1104. + #else
  1105. + # ifdef __TURBOC__
  1106. + #  define va_start(list, param)   ((list) = ...)
  1107. + #  define va_arg(list, type)      (*((type *) (list))++)
  1108. + #  define va_end(list)
  1109. + # else
  1110. + #  define va_start(list,param)  list = ((va_list) &(param)) \
  1111. +                    + ((sizeof(param) + 1) & ~1)
  1112. + #  define va_arg(list,type)     ((type *)(list += ((sizeof(type) + 1) & ~1)))[-1]
  1113. + #  define va_end(list)
  1114. + # endif /* __TURBOC__ */
  1115.   
  1116.   #endif /* __GNUC__ */
  1117.   
  1118. *** 1.12    1992/07/20 22:09:56
  1119. --- unistd.h    1992/10/09 20:54:11
  1120. ***************
  1121. *** 83,89 ****
  1122.   __EXTERN __EXITING _exit    __PROTO((int));
  1123.   __EXTERN __EXITING abort    __PROTO((void));
  1124.   __EXTERN int    access    __PROTO((const char *, int));
  1125. ! __EXTERN int    alarm    __PROTO((unsigned));
  1126.   __EXTERN int    chdir    __PROTO((const char *));
  1127.   __EXTERN int    chmod    __PROTO((const char *, int));
  1128.   __EXTERN int    chown    __PROTO((const char *, int, int));
  1129. --- 83,89 ----
  1130.   __EXTERN __EXITING _exit    __PROTO((int));
  1131.   __EXTERN __EXITING abort    __PROTO((void));
  1132.   __EXTERN int    access    __PROTO((const char *, int));
  1133. ! __EXTERN unsigned alarm    __PROTO((unsigned));
  1134.   __EXTERN int    chdir    __PROTO((const char *));
  1135.   __EXTERN int    chmod    __PROTO((const char *, int));
  1136.   __EXTERN int    chown    __PROTO((const char *, int, int));
  1137. ***************
  1138. *** 91,96 ****
  1139. --- 91,102 ----
  1140.   __EXTERN int    creat    __PROTO((const char *, unsigned));
  1141.   __EXTERN int    dup    __PROTO((int));
  1142.   __EXTERN int    dup2    __PROTO((int, int));
  1143. + __EXTERN int    execl    __PROTO((char *, ...));
  1144. + __EXTERN int    execle    __PROTO((char *, ...));
  1145. + __EXTERN int    execlp    __PROTO((char *, ...));
  1146. + __EXTERN int    execv    __PROTO((char *, char **));
  1147. + __EXTERN int    execve    __PROTO((char *, char **, char **));
  1148. + __EXTERN int    execvp    __PROTO((char *, char **));
  1149.   __EXTERN int    fork    __PROTO((void));
  1150.   __EXTERN char *    getcwd    __PROTO((char *, int));
  1151.   __EXTERN char *    getwd    __PROTO((char *));
  1152. ***************
  1153. *** 98,107 ****
  1154.   __EXTERN _UID_T    geteuid    __PROTO((void));
  1155.   __EXTERN _GID_T    getgid    __PROTO((void));
  1156.   __EXTERN char *    getlogin    __PROTO((void));
  1157. - #ifdef __MINT__
  1158. - __EXTERN int    getopt    __PROTO((int, char **, const char *));
  1159. - #else
  1160.   __EXTERN int    getopt    __PROTO((int, char * const *, const char *));
  1161.   #endif
  1162.   __EXTERN int    getpgrp    __PROTO((void));
  1163.   __EXTERN int    getpid    __PROTO((void));
  1164. --- 104,112 ----
  1165.   __EXTERN _UID_T    geteuid    __PROTO((void));
  1166.   __EXTERN _GID_T    getgid    __PROTO((void));
  1167.   __EXTERN char *    getlogin    __PROTO((void));
  1168.   __EXTERN int    getopt    __PROTO((int, char * const *, const char *));
  1169. + #ifndef _POSIX_SOURCE
  1170. + __EXTERN int    getpagesize __PROTO((void));
  1171.   #endif
  1172.   __EXTERN int    getpgrp    __PROTO((void));
  1173.   __EXTERN int    getpid    __PROTO((void));
  1174. ***************
  1175. *** 115,125 ****
  1176.   /* be careful with this and Gcc, where strings are really constants */
  1177.   __EXTERN char *    mktemp    __PROTO((char *));
  1178.   
  1179. - #ifndef __SRC__
  1180.   __EXTERN int    open    __PROTO((const char *, int, ...));
  1181. - #else
  1182. - __EXTERN int    open    __PROTO((const char *, int, unsigned));
  1183. - #endif
  1184.   __EXTERN int    pipe    __PROTO((int *));
  1185.   __EXTERN long    pathconf __PROTO((const char *, int));
  1186.   __EXTERN void    psignal    __PROTO((int, const char *));
  1187. --- 120,126 ----
  1188. ***************
  1189. *** 144,150 ****
  1190.   __EXTERN int    setreuid __PROTO((int, int));
  1191.   
  1192.   __EXTERN int    setpgrp    __PROTO((int, int));
  1193. ! __EXTERN void    sleep    __PROTO((unsigned int));
  1194.   __EXTERN int    stime    __PROTO((long *));
  1195.   __EXTERN long    sysconf    __PROTO((int));
  1196.   __EXTERN long    tell    __PROTO((int));
  1197. --- 145,151 ----
  1198.   __EXTERN int    setreuid __PROTO((int, int));
  1199.   
  1200.   __EXTERN int    setpgrp    __PROTO((int, int));
  1201. ! __EXTERN unsigned sleep    __PROTO((unsigned int));
  1202.   __EXTERN int    stime    __PROTO((long *));
  1203.   __EXTERN long    sysconf    __PROTO((int));
  1204.   __EXTERN long    tell    __PROTO((int));
  1205. ***************
  1206. *** 153,170 ****
  1207.   __EXTERN int    unlink    __PROTO((const char *));
  1208.   __EXTERN int    write    __PROTO((int, const void *, unsigned));
  1209.   __EXTERN long    _write    __PROTO((int, const void *, unsigned long));
  1210. ! __EXTERN int system    __PROTO((const char *cmd));
  1211. ! __EXTERN char *getpass    __PROTO((const char *prompt));
  1212.   
  1213. ! __EXTERN void *lsbrk __PROTO((long)); /* these are too important not to list */
  1214. ! __EXTERN void *sbrk __PROTO((__SIZE_TYPEDEF__));
  1215.   __EXTERN void *_sbrk __PROTO((long));
  1216.   
  1217.   #ifndef __MINT__
  1218.   #define lwrite _write    /* backwards compatibility, likely go away */
  1219.   #endif
  1220.   
  1221. - #ifndef _POSIX_SOURCE
  1222.   __EXTERN int    vfork    __PROTO((void));
  1223.   __EXTERN void    srandom    __PROTO((unsigned int seed));
  1224.   __EXTERN char *    initstate __PROTO(( unsigned int seed, char *arg_state, int n ));
  1225. --- 154,174 ----
  1226.   __EXTERN int    unlink    __PROTO((const char *));
  1227.   __EXTERN int    write    __PROTO((int, const void *, unsigned));
  1228.   __EXTERN long    _write    __PROTO((int, const void *, unsigned long));
  1229. ! __EXTERN int    system    __PROTO((const char *cmd));
  1230. ! __EXTERN char *    getpass    __PROTO((const char *prompt));
  1231.   
  1232. ! #ifndef _POSIX_SOURCE
  1233. ! __EXTERN void *    sbrk __PROTO((__SIZE_TYPEDEF__));
  1234.   __EXTERN void *_sbrk __PROTO((long));
  1235.   
  1236. + #ifdef __SOZOBON__
  1237. + #define lsbrk _sbrk    /* backwards compatibility, don't use */
  1238. + #endif
  1239. +     
  1240.   #ifndef __MINT__
  1241.   #define lwrite _write    /* backwards compatibility, likely go away */
  1242.   #endif
  1243.   
  1244.   __EXTERN int    vfork    __PROTO((void));
  1245.   __EXTERN void    srandom    __PROTO((unsigned int seed));
  1246.   __EXTERN char *    initstate __PROTO(( unsigned int seed, char *arg_state, int n ));
  1247. ***************
  1248. *** 179,185 ****
  1249.   __EXTERN void setpwfile __PROTO((char *));
  1250.   #endif
  1251.   
  1252. ! #ifdef __cplusplus
  1253.   }
  1254.   #endif
  1255.   
  1256. --- 183,189 ----
  1257.   __EXTERN void setpwfile __PROTO((char *));
  1258.   #endif
  1259.   
  1260. ! #if defined(__cplusplus)
  1261.   }
  1262.   #endif
  1263.   
  1264. *** 1.10    1992/06/03 15:23:13
  1265. --- varargs.h    1992/10/09 20:54:11
  1266. ***************
  1267. *** 1,6 ****
  1268. --- 1,10 ----
  1269.   #ifndef _VARARGS_H
  1270.   #define _VARARGS_H
  1271.   
  1272. + #ifdef __TURBOC__
  1273. + #error varargs not implemented under Turbo C / Pure C
  1274. + #endif
  1275.   /* in case stdarg.h got included by a header file */
  1276.   #ifdef va_start
  1277.   #undef va_start
  1278.